//package com.example.demo.redislock.service.impl;
//
//import com.example.demo.redislock.service.ITestLockService;
//import com.example.demo.redislock.support.DistributedRedisLock;
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.fasterxml.jackson.core.type.TypeReference;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//
///**
// * @author lys4134
// * @ClassName TestLockServiceImpl
// * @Date 2022/03/17 09:39:05
// * @Description TestLockServiceImpl
// * @Version 1.0
// **/
////@Service
//@Slf4j
//public class TestLockServiceImpl implements ITestLockService {
//
//    private final String LOCK = "LOCK";
//
//    @Autowired
//    private DistributedRedisLock distributedRedisLock;
//
//    public static void main(String[] args) throws JsonProcessingException {
//        ObjectMapper o = new ObjectMapper();
//        List<String> list = o.readValue("[]", new TypeReference<List<String>>() {
//        });
//        String a = null;
//        try {
//            a.equals("");
//        } catch (Exception e) {
//            System.out.println(e.getMessage());
//        }
//    }
//
//
//    /**
//     * 测试不释放锁
//     */
//    @Override
//    public void testLock() {
//        for (int i = 0; i < 5; i++) {
//            new Thread(() -> {
//                distributedRedisLock.lock(LOCK);
//            }).start();
//        }
//    }
//
//    /**
//     * 实际业务开发使用分布式锁的方式
//     */
//    @Override
//    public void post() {
//        try {
//            if (distributedRedisLock.lock(LOCK)) {
//                // 业务逻辑
//                log.info("开始业务逻辑");
//            } else {
//                // 处理获取锁失败的逻辑
//                log.info("获取锁失败");
//            }
//        } catch (Exception e) {
//            log.error("处理异常：", e);
//        } finally {
//            distributedRedisLock.unlock(LOCK);
//        }
//    }
//
//}
